home *** CD-ROM | disk | FTP | other *** search
- //---------------------------------------------------------------------------
- #include <vcl\vcl.h>
- #pragma hdrstop
-
- #include "xlist.h"
- //---------------------------------------------------------------------------
- Xlist::Xlist() {
- flink = this;
- blink = this;
- }
-
- void Xlist::Add(Xlist *p) {
- Xlist * t;
-
- t =flink;
- p->flink = flink;
- flink=p;
- t->blink=p;
- p->blink = this;
- }
-
- Xlist* Xlist::Remove(){
- Xlist *u, *t = flink;
-
- if (flink != t->flink) {
- u = t->flink;
- flink = u;
- u->blink = this;
- t->flink = t;
- t->blink = t;
- }
- else
- t = NULL;
-
- return t;
- }
-
- int Xlist::Count() {
- int i = 0;
- Xlist *p = flink;
-
- while (flink != p->flink) {
- p = p->flink;
- i++;
- }
- return i;
- }
-
-